﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using SlideShow.Models;

namespace SlideShow.Controllers
{
    public class EnvioCorreoController : Controller
    {
        private List<SlideShow.CursosPortal.Curso> CrearCursos()
        {
            List<ConsultaModels> lista = new List<ConsultaModels>();
            SlideShow.CursosPortal.CursosClient proxy = new SlideShow.CursosPortal.CursosClient();
            List<SlideShow.CursosPortal.Curso> lista_usuario = proxy.listarCursos().ToList();
            return lista_usuario;

        }
        
        //
        // GET: /EnvioCorreo/

        public ActionResult Index()
        {
            List<SlideShow.CursosPortal.Curso> lista = CrearCursos();
            var model = new ConsultaModels
            {
                Cursos = (lista).Select(c => new SelectListItem { Value = c.id.ToString(), Text = c.nombre }),
                EncargadoCursos = "",
                Mensaje = "",
                MensajeConsulta = ""
            };

            return View(model); 
        }


        [HttpPost]
        public ActionResult Index(FormCollection p_form)
        {
            List<SlideShow.CursosPortal.Curso> lista = CrearCursos();
            Int32 idCurso = int.Parse(p_form[1].Trim());
            String MsgConsulta = (p_form[3].Trim());
            string correodestino = (p_form[4].Trim());

            //SlideShow.Consultas.Consultamail consultaservicio = new SlideShow.Consultas.Consultamail();
            //consultaservicio.correo = correodestino;
            //consultaservicio.Mensaje = MsgConsulta;

            if (idCurso.ToString() != "")
            {
                var xx = (from c in lista
                          where c.id == idCurso
                          select new { c.id, c.nombre, c.responsable }).First();

                string MensajeEnviado = "";
                if (MsgConsulta != "")
                {
                    //SlideShow.Consultas.ConsultasClient svc = new SlideShow.Consultas.ConsultasClient();
                    //MensajeEnviado = svc.EnviarConsulta(consultaservicio);
                    
                    SlideShow.Consultas.EmailMessage em = new Consultas.EmailMessage();
                    em.Subject = "Consulta de Curso";
                    em.Message = MsgConsulta;
                    em.From = "usuario@gmail.com";
                    em.To = correodestino; // "sotomayorlillian@gmail.com;sotomayorl@e-sav.net;omar3475@gmail.com;slideshowdsd@gmail.com";

                    Consultas.ConsultasClient svc = new Consultas.ConsultasClient();
                    MensajeEnviado = svc.QueueMessage(em);

                }

                var model = new ConsultaModels
                {
                    // you probably would fetch those from the database 
                    Cursos = (lista).Select(c => new SelectListItem { Value = c.id.ToString(), Text = c.nombre, Selected = c.id == idCurso ? true : false }),
                    EncargadoCursos = xx.responsable.ToString(),
                    MensajeConsulta = MensajeEnviado,
                    idCurso = idCurso,
                    Mensaje = MsgConsulta
                };
                return View(model);
            }
            else
            {
                var model = new ConsultaModels
                {
                    // you probably would fetch those from the database 
                    Cursos = (lista).Select(c => new SelectListItem { Value = c.id.ToString(), Text = c.nombre }),
                    EncargadoCursos = "",
                    MensajeConsulta = ""
                };
                return View(model);
            }

        }

    }
}
